package com.tfjybj.itoo.exam.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import java.io.Serializable;
import java.util.Date;

/**
 * ExamNoticeModel
 * 考试通知表
 *
 * @author 贾建清
 * @version 2.0.0
 * @since 2.0.0 2018-12-26 20:56:50
 */
@ApiModel(value = "ExamNoticeModel:考试通知表")
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
public class ExamNoticeModel implements Serializable {

    //region 模板逆向生产来自ExamNoticeEntity的属性
    /**
     * id
     */
    @ApiModelProperty(value = "examNotice主键")
    @Column(name = "id")
    private String id;
    /**
     * 学院id
     */
    @ApiModelProperty(value = "学院id")
    private String academyId;

    /**
     * 学院名称
     */
    @ApiModelProperty(value = "学院名称")
    private String academyName;

    /**
     * 专业id
     */
    @ApiModelProperty(value = "专业id")
    private String professionId;

    /**
     * 专业名称
     */
    @ApiModelProperty(value = "专业名称")
    private String profession;

    /**
     * 班级id
     */
    @ApiModelProperty(value = "班级id")
    private String classId;

    /**
     * 班级名称
     */
    @ApiModelProperty(value = "班级名称")
    private String className;

    /**
     * 考试开始时间
     */
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
    )
    @ApiModelProperty(value = "考试开始时间")
    private Date examStartTime;

    /**
     * 考试时长
     */
    @ApiModelProperty(value = "考试时长", example = "0")
    private Integer examLength;

    /**
     * 学生id
     */
    @ApiModelProperty(value = "学生id")
    private String studentId;

    /**
     * 学号
     */
    @ApiModelProperty(value = "学号")
    private String studentNo;

    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    private String studentName;

    /**
     * 考试地点
     */
    @ApiModelProperty(value = "考试地点")
    private String placeId;

    /**
     * 地点名称
     */
    @ApiModelProperty(value = "地点名称")
    private String placeName;

    /**
     * 发送状态
     */
    @ApiModelProperty(value = "发送状态", example = "0")
    private Integer state;

    /**
     * 课程
     */
    @ApiModelProperty(value = "课程")
    private String course;

    /**
     * 课程id
     */
    @ApiModelProperty(value = "课程id")
    private String courseId;

    /**
     * 发送时间
     */
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
    )
    @ApiModelProperty(value = "发送时间")
    private Date sendTime;

    //endregion

    /* *****************************以下是非模板生成的内容************************************ */
}
